/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.pay.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 互助金订单信息编辑参数
 *
 * @author 薛守立
 * @date  2024/09/05 18:15
 **/
@Getter
@Setter
public class BizPayOrderEditParam {

    /** ID */
    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "id不能为空")
    private String id;

    /** 接口类型 */
    @Schema(description = "接口类型")
    private String service;

    /** 签名方式 */
    @Schema(description = "签名方式")
    private String signType;

    /** 商户号 */
    @Schema(description = "商户号")
    private String mchId;

    /** 商户订单号 */
    @Schema(description = "商户订单号")
    private String outTradeNo;

    /** 商品描述 */
    @Schema(description = "商品描述")
    private String body;

    /** 订单金额 */
    @Schema(description = "订单金额")
    private Integer totalFee;

    /** 服务器IP */
    @Schema(description = "服务器IP")
    private String mchCreateIp;

    /** 回调请求地址 */
    @Schema(description = "回调请求地址")
    private String notifyUrl;

    /** 随机字符串 */
    @Schema(description = "随机字符串")
    private String nonceStr;

    /** 签名 */
    @Schema(description = "签名")
    private String sign;

    /** 订单关联用户的ID */
    @Schema(description = "订单关联用户的ID")
    private String userId;

    /** 用户电话 */
    @Schema(description = "用户电话")
    private String userrPhone;

    /** 用户关联企业微信ID */
    @Schema(description = "用户关联企业微信ID")
    private String userOpenId;

    /** 订单状态 */
    @Schema(description = "订单状态")
    private String orderStatus;

    /** 订单类型 */
    @Schema(description = "订单类型")
    private String orderType;

    /** 付款渠道 */
    @Schema(description = "付款渠道")
    private String bankType;

    /** 货币类型 */
    @Schema(description = "货币类型")
    private String feeType;

}
